package com.ict.web.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ict.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

@Data
public class AnnualProjectPlanListVo {
    /** 年度项目计划id */
    @TableId(value = "plan_id",type = IdType.INPUT)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty(value = "年度项目计划id")
    private Long planId;

    /** 计划名称 */
    @ApiModelProperty(value = "计划名称")
    @Excel(name = "计划名称")
    private String name;

    /** 年份 */
    @ApiModelProperty(value = "年份")
    @Excel(name = "年份")
    private String year;

    /** 项目单位数量 */
    @ApiModelProperty(value = "项目单位数量")
    @Excel(name = "项目单位数量")
    private Long numberProjectUnits;

    /** 项目数量 */
    @ApiModelProperty(value = "项目数量")
    @Excel(name = "项目数量")
    private Long numberItems;

    /** 总投资估算（万元） */
    @ApiModelProperty(value = "总投资估算（万元）")
    @Excel(name = "总投资估算", readConverterExp = "万=元")
    private BigDecimal totalInvestmentEstimation;

    /** 起始时间 */
    @ApiModelProperty(value = "起始时间 yyyy-MM-dd  HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "起始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime startTime;

    /** 截至时间 */
    @ApiModelProperty(value = "截至时间 yyyy-MM-dd  HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "截至时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime endTime;

    /** 建设类项目 */
    @ApiModelProperty(value = "建设类项目")
    @Excel(name = "建设类项目")
    private Long constructionProjects;

    /** 购买类项目 */
    @Excel(name = "购买类项目")
    @ApiModelProperty(value = "购买类项目")
    private Long purchaseItems;

    /** 运维项目 */
    @Excel(name = "运维项目")
    @ApiModelProperty(value = "运维项目")
    private Long operationMaintenance;

    /** 状态 */
    @Excel(name = "状态")
    @ApiModelProperty(value = "状态")
    private String isState;

//    /** 逻辑删除：{0:正常;1:删除} */
//    @Excel(name = "逻辑删除：{0:正常;1:删除}")
//    private String isDelete;
}
